package com.aurora.util;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;

import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;

public class JsonToJava {

    public static final   List<StringBuilder> sbList = new ArrayList<>();

    public static void generateJavaClassFromJson(String jsonString, String packageName, String className) throws JsonParseException {
        Gson gson = new Gson();
        JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class);
        processJsonObject(jsonObject, packageName, className);
    }
    private static void processJsonObject(JsonObject jsonObject, String packageName, String className) {
        StringBuilder sb = new StringBuilder();
        sbList.add(sb);
        // 添加包名
        sb.append("package ").append(packageName).append(";\n\n");
        sb.append("import java.util.List;\n");
        sb.append("import lombok.AllArgsConstructor;\n");
        sb.append("import lombok.Builder;\n");
        sb.append("import lombok.Data;\n");
        sb.append("import lombok.NoArgsConstructor;\n");
        // 添加类名
        sb.append("@Data ").append(" \n");
        sb.append("@Builder ").append(" \n");
        sb.append("@NoArgsConstructor ").append(" \n");
        sb.append("@AllArgsConstructor ").append(" \n");
        sb.append("public class ").append(className).append(" {\n");

        // 添加属性
        for (Entry<String, JsonElement> entry : jsonObject.entrySet()) {
            String key = entry.getKey();
            JsonElement value = entry.getValue();
            processJsonElement(value, packageName, className, key, sb);
        }
        // 结束类定义
        sb.append("}\n");
        sb.append("\n");
    }
    private static void processJsonElement(JsonElement jsonElement, String packageName, String className, String key, StringBuilder sb) {
        key= fieldNameFromKey(key);
        if (jsonElement.isJsonObject()) {
            JsonObject jsonObject = jsonElement.getAsJsonObject();
            String nestedClassName = className + key;
            processJsonObject(jsonObject, packageName, nestedClassName);
            sb.append("private ").append(nestedClassName).append(" ").append(key).append(";\n");
        } else if (jsonElement.isJsonArray()) {
            JsonArray jsonArray = jsonElement.getAsJsonArray();
            if (jsonArray.size() > 0 && jsonArray.get(0).isJsonObject()) {
                JsonObject jsonObject = jsonArray.get(0).getAsJsonObject();
                String nestedClassName = className + key;
                processJsonObject(jsonObject, packageName, nestedClassName);
                sb.append("private List<").append(nestedClassName).append("> ").append(key).append(";\n");
            } else {
                sb.append("private List<Object> ").append(key).append(";\n");
            }
        } else if (jsonElement.isJsonPrimitive()) {

            if (jsonElement.getAsJsonPrimitive().isString()) {
                sb.append("private String ").append(key).append(";\n");
            } else if (jsonElement.getAsJsonPrimitive().isNumber()) {
                sb.append("private Number ").append(key).append(";\n");
            } else if (jsonElement.getAsJsonPrimitive().isBoolean()) {
                sb.append("private Boolean ").append(key).append(";\n");
            }
        } else if (jsonElement.isJsonNull()) {
            sb.append("private Object ").append(key).append(";\n");
        }
    }
    /**
     * 首字母大写 并根据下划线大写
     * @date 24/5/2023 下午3:18
     * @param
     * @return
     **/
    private static String fieldNameFromKey(String key) {
        StringBuilder sb = new StringBuilder();
        key= capitalize(key);
        boolean toUpper = false;
        for (int i = 0; i < key.length(); i++) {
            char c = key.charAt(i);
            if (c == '_') {
                toUpper = true;
            } else {
                sb.append(toUpper ? Character.toUpperCase(c) : c);
                toUpper = false;
            }
        }
        return sb.toString();
    }

    private static String capitalize(String s) {
        if (s == null || s.length() == 0) {
            return s;
        }
        return Character.toUpperCase(s.charAt(0)) + s.substring(1);
    }

    public static void main(String[] args) {
        String jsonString = "{\"reason\":\"success\",\"result\":{\"list\":[{\"title\":\"在香港歧视普通话注定是个笑话\",\"hotnum\":9782580,\"digest\":\"5月23日，侠客岛评国泰空姐歧视乘客：在香港歧视普通话注定是个笑话。香港人歧视说普通话的内地人，都是绝不应该也决不允许发生的事。\"},{\"title\":\"失联男孩被生母继父埋他人坟墓\",\"hotnum\":8893256,\"digest\":\"5月24日，山西运城临猗县公安局通报失踪20天男孩张某某已确认身亡。据知情者介绍，男孩被生母和继父埋在他人坟墓里。\"},{\"title\":\"官方回应女交警翘首弄姿\",\"hotnum\":7289868,\"digest\":\"近日，一网友在社交平台发文反映，甘肃一交警大队工作窗口工作人员，上班期间翘首弄姿。对此办公室负责人表示，该照片系几年前拍摄，此事当年已处理。\"},{\"title\":\"5旬女子花21万打抗癌针竟是可乐\",\"hotnum\":7253270,\"digest\":\"近日，一名60岁左右的女子遭遇诈骗，她花21万元打了一针“抗癌针”。警方抓捕嫌疑人调查得知，该“抗癌针”实际为散了气泡的可乐。\"},{\"title\":\"厦门一网红户外直播被砍？警方回应\",\"hotnum\":3624468,\"digest\":\"5月23日晚，有网友爆料厦门一名主播在户外直播的过程中突然被人拿刀砍。当地派出所一工作人员24日表示：警方已经介入，具体的后续会发布，会处理的。\"},{\"title\":\"12岁女生称被00后老师猥亵\",\"hotnum\":3156294,\"digest\":\"近日，浙江绍兴的黄女士向记者求助，她12岁女儿在学校被老师猥亵，表示不想让女儿再受伤害，要给孩子转学。目前涉案老师已被刑拘，检察院也已介入调查。\"},{\"title\":\"身亡男童生母继父被抓 曾寻子\",\"hotnum\":2688121,\"digest\":\"5月23日，山西运城临猗县10岁男童失联20天身亡。犯罪嫌疑人谢某某、王某某分别是失联身亡男孩的生母、继父。据悉这两人曾流泪拍寻人视频。\"},{\"title\":\"四川一中学老师输液时不幸身亡\",\"hotnum\":2601562,\"digest\":\"近日，四川乐山苏稽镇一中学老师在输液时，发生事故不幸身亡。对此，涉事诊所称已全力抢救，目前已暂停营业。卫健局回应称已介入调查。\"},{\"title\":\"刘烨分了一把瓜子给易烊千玺\",\"hotnum\":2404725,\"digest\":\"华表奖上刘烨和易烊千玺的互动实在太有爱了！这对中戏师兄弟非常可爱，刘烨还给了易烊千玺一把瓜子，一起嗑瓜子的样子真让人羡慕。\"},{\"title\":\"乌冬面里吃出活青蛙 日连锁店道歉\",\"hotnum\":2390704,\"digest\":\"据日本媒体“J-CAST”23日报道，一段显示“从乌冬面里吃出活青蛙”的视频在网络上热传。涉事连锁店23日在官网上承认视频中的情况属实，并向消费者道歉。\"},{\"title\":\"昆明辟谣城投专家会议纪要\",\"hotnum\":2376679,\"digest\":\"近日，一则“昆明当地银行口专家路演纪要”的截图引发广泛关注。5月24日，昆明市人民政府国有资产监督管理委员会发布严正声明称该截图为不实信息。\"},{\"title\":\"女孩为爱减肥去世:体重24.8公斤\",\"hotnum\":2307621,\"digest\":\"近日，一位15岁女孩，因减肥患上神经性厌食，导致她严重营养不良、多脏器衰竭、等14种疾病，在ICU里20多天的抢救，依然没能唤醒那个活泼可爱的少女。\"},{\"title\":\"港府官员:要求国泰航空立刻改善服务\",\"hotnum\":1863734,\"digest\":\"香港运输及物流局局长：十分痛心国泰航空部分机组人员的不当言论，要求管理层立刻改善服务。期望有关检讨尽快完成。\"},{\"title\":\"男子持剪刀挟持女孩被铁锹敲懵\",\"hotnum\":1812277,\"digest\":\"5月23日，天津一男子当街持剪刀挟持女孩并伤人，围观群众一铁锹将其敲懵，当场控制住了男子。目前，伤者已送至医院治疗，无生命危险。涉事男子被刑拘。\"},{\"title\":\"女子在医院持刀捅车祸伤者 已被抓获\",\"hotnum\":1729202,\"digest\":\"近日，广西北海一女子在医院持刀捅车祸伤者，并拒付车祸医药费。目前，公安机关已依法对马某采取刑事强制措施，案件正进一步侦办当中。\"},{\"title\":\"老毛病老不改国泰航空飞不远\",\"hotnum\":1638138,\"digest\":\"近日，国泰航空空乘人员歧视非英语旅客引热议，国泰航空紧急道歉后，新华网对此评价：老毛病老不改，国泰航空还能飞多远，就是个问号了。\"},{\"title\":\"俄总理访华提到了这句唐诗\",\"hotnum\":1592259,\"digest\":\"5月23日，俄罗斯总理米舒斯京抵达中国，并在上海举行的俄中商务论坛上引用了一句唐诗：“欲穷千里目，更上一层楼”。\"},{\"title\":\"曝很多湖人球员在G4后感谢詹姆斯\",\"hotnum\":1473152,\"digest\":\"据洛杉矶记者MarkMedina透露，包括湖人主教练里夫斯在内的许多球员在西部决赛G4结束后给詹姆斯发送了短信。\"},{\"title\":\"3岁男童走失27小时后被群众找到\",\"hotnum\":1393797,\"digest\":\"5月23日，陕西榆林绥德3岁走失男童，在失联27小时后，被群众在山上找到。拍摄者徐先生称，孩子状态良好，已送往医院检查。\"},{\"title\":\"凯尔特人大胜热火\",\"hotnum\":1369191,\"digest\":\"北京时间5月24日，NBA季后赛东部决赛，凯尔特人队以116-99大胜热火队，挽救赛点将系列赛大比分追至1-3。\"},{\"title\":\"中国新任驻美大使谢锋抵美履新\",\"hotnum\":1368279,\"digest\":\"当地时间5月23日，新一任中国驻美国大使谢锋抵美履新。在纽约机场，谢锋与在场的中外媒体及各界人士交流互动。\"},{\"title\":\"华表奖提名名单公布\",\"hotnum\":1361589,\"digest\":\"第十八届、第十九届中国电影华表奖5月23日在京揭晓，《我和我的祖国》等10部影片获第十八届华表奖优秀故事片奖。\"},{\"title\":\"刘晓庆唐国强陈冲合体亮相\",\"hotnum\":1322576,\"digest\":\"5月23日，第十八届、第十九届中国电影华表奖颁奖典礼在北京举行。《小花》剧组45年后再重聚，刘晓庆、唐国强、陈冲合体亮相，依然风采依旧。\"},{\"title\":\"单车少年深夜狂飙为消防员引路\",\"hotnum\":1264306,\"digest\":\"近日，河南郑州航空港区商登高速与梅河相交向南方向杂草起火，接到报警后，当地消防部门赶往处置，期间，一名少年骑着自行车为消防员引路。\"},{\"title\":\"美两架轰炸机在波罗的海遭俄方拦截\",\"hotnum\":1243947,\"digest\":\"当地时间5月23日，美国五角大楼发言人帕特·莱德在例行记者招待会上证实，一架俄罗斯飞机在波罗的海上空拦截了两架美国轰炸机。\"},{\"title\":\"秦海璐华表奖后台坐着睡着了\",\"hotnum\":1227290,\"digest\":\"近日，有网友在社交媒体上分享了一张华表奖后台的照片，照片中秦海璐戴着口罩，握着手机，直接坐着睡着了。看来，她真的是非常的累了。\"},{\"title\":\"女商人伙同情夫枪杀亲夫 被执行死刑\",\"hotnum\":1189103,\"digest\":\"近日，成都中院公布的一起死刑执行案件信息，因涉及妻子伙同两名情夫枪杀亲夫的情节，引发舆论关注。\"},{\"title\":\"珠峰搬运一具遗体成本或高达7万美元\",\"hotnum\":1156862,\"digest\":\"近年来，攀登珠峰逐渐成为一项时髦刺激的活动，但也因此常年发生遇难事件，在一定高度上遗体只能靠有经验的夏尔巴人带下山，而搬运一具遗体的成本可能高达7万美元。\"},{\"title\":\"货拉拉案司机提出申诉\",\"hotnum\":1109232,\"digest\":\"5月23日，湖南长沙。货拉拉坠亡案司机周某春二审被维持认定犯过失致人死亡罪一年后，决定上长沙市中级人民法院提起申诉。\"},{\"title\":\"美富豪为“回春”用儿子血浆来换血\",\"hotnum\":1098806,\"digest\":\"近日，美国企业家布莱恩·约翰逊，为“青春永驻”用17岁儿子的血浆给自己换血，还把70岁父亲的血也换了。\"},{\"title\":\"大爷抱40斤水泥块跳池塘砸窗救人\",\"hotnum\":1061327,\"digest\":\"近日，山东临沂一老人骑三轮翻进池塘车窗全封闭。6旬村民抱着40斤的水泥块跳水砸窗救人，将老人救上岸时，自己胳膊和腿都被划破了。\"},{\"title\":\"苏州一商场儿童推车中英文收费不同\",\"hotnum\":1058277,\"digest\":\"近日，有网友在社交媒体爆料，苏州中心商场内儿童小推车收费标准不一，中英文收费存在区别对待。商家对此回应称，系印刷错误，已整改。\"},{\"title\":\"沈腾华表奖后台花式打招呼\",\"hotnum\":1027351,\"digest\":\"5月23日，在第十八届、十九届中国电影华表奖，沈腾后台花式打招呼，遇见张译热情拥抱，遇见葛优半蹲着握手，遇见白百何时，不知道调侃了什么，被打了一下胸口。\"},{\"title\":\"亚马逊中文官网将停运\",\"hotnum\":891522,\"digest\":\"5月24日，亚马逊否认“亚马逊中文官网即将停运”的说法。并表示停止亚马逊应用商店服务不会影响任何目前亚马逊在中国的业务运营。\"},{\"title\":\"和马官宣签约龙韬娱乐\",\"hotnum\":632996,\"digest\":\"和马官宣签约龙韬娱乐\"},{\"title\":\"C罗轰世界波 利雅得胜利3-2赢德比\",\"hotnum\":621427,\"digest\":\"北京时间5月24日，沙特超第28轮。C罗打进世界波，利雅得胜利在0-2落后的情况下连扳3球，3-2逆转对手。\"},{\"title\":\"旅泰大熊猫“林惠”死因公布\",\"hotnum\":613811,\"digest\":\"5月23日，中国野生动物保护协会发布大熊猫“林惠”死因调查的情况说明：步入老年阶段的大熊猫“林惠”因动脉粥样硬化伴栓塞导致多器官功能衰竭死亡。\"},{\"title\":\"奶爸将1岁娃放浴室训练自主进食\",\"hotnum\":603543,\"digest\":\"近日，苏州一爸爸因为孩子每次吃饭吃的到处都是，于是将1岁双胞胎女儿放到浴室训练自主进食，吃完后直接用水冲。\"},{\"title\":\"任达华谢霆锋陈伟霆同框\",\"hotnum\":580187,\"digest\":\"5月23日，杨受成博士与演员任达华、谢霆锋、陈伟霆亮相第十八届、第十九届中国电影华表奖红毯。\"},{\"title\":\"老人报警丢失8000元民警找出1万8\",\"hotnum\":566392,\"digest\":\"5月22日，铜陵刘老太报警，称其屋内装有8000元的皮包被盗，民警经现场勘查走访，查找后在沙发底下找到皮包，内有现金18000余元。\"}]},\"error_code\":0}";
String toutiao  ="{\n" +
        "        \"stat\": \"1\",\n" +
        "        \"data\": [\n" +
        "            {\n" +
        "                \"uniquekey\": \"db61b977d9fabd0429c6d0c671aeb30e\",\n" +
        "                \"title\": \"“新时代女性的自我关爱”主题沙龙暨双山街道福泰社区妇儿活动家园启动仪式举行\",\n" +
        "                \"date\": \"2021-03-08 13:47:00\",\n" +
        "                \"category\": \"头条\",\n" +
        "                \"author_name\": \"鲁网\",\n" +
        "                \"url\": \"https://mini.eastday.com/mobile/210308134708834241845.html\",\n" +
        "                \"thumbnail_pic_s\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308134708_d0216565f1d6fe1abdfa03efb4f3e23c_0_mwpm_03201609.png\",\n" +
        "                \"thumbnail_pic_s02\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308134708_d0216565f1d6fe1abdfa03efb4f3e23c_1_mwpm_03201609.png\",\n" +
        "                \"thumbnail_pic_s03\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308134708_d0216565f1d6fe1abdfa03efb4f3e23c_2_mwpm_03201609.png\",\n" +
        "                \"is_content\": \"1\"\n" +
        "            },\n" +
        "            {\n" +
        "                \"uniquekey\": \"7d246cbfa9000fb5ac42fb3bb934a592\",\n" +
        "                \"title\": \"滴滴发布女司机数据：2020年新增女性网约车司机超26万\",\n" +
        "                \"date\": \"2021-03-08 13:40:00\",\n" +
        "                \"category\": \"头条\",\n" +
        "                \"author_name\": \"国青年网\",\n" +
        "                \"url\": \"https://mini.eastday.com/mobile/210308134023641877777.html\",\n" +
        "                \"thumbnail_pic_s\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308134023_7a9ca0543b00332147c42e1ee4146908_0_mwpm_03201609.png\",\n" +
        "                \"thumbnail_pic_s02\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308134023_7a9ca0543b00332147c42e1ee4146908_1_mwpm_03201609.jpeg\",\n" +
        "                \"is_content\": \"1\"\n" +
        "            },\n" +
        "            {\n" +
        "                \"uniquekey\": \"c0611bea6eb961a57b21a0d1008bbe2e\",\n" +
        "                \"title\": \"点赞！东海县公安局学雷锋见行动\",\n" +
        "                \"date\": \"2021-03-08 13:38:00\",\n" +
        "                \"category\": \"头条\",\n" +
        "                \"author_name\": \"江南时报\",\n" +
        "                \"url\": \"https://mini.eastday.com/mobile/210308133849892734209.html\",\n" +
        "                \"thumbnail_pic_s\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308133849_b9f3d069a1ab400bf2d87fcc15793ca5_1_mwpm_03201609.png\",\n" +
        "                \"thumbnail_pic_s02\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308133849_b9f3d069a1ab400bf2d87fcc15793ca5_2_mwpm_03201609.png\",\n" +
        "                \"thumbnail_pic_s03\": \"https://dfzximg02.dftoutiao.com/news/20210308/20210308133849_b9f3d069a1ab400bf2d87fcc15793ca5_3_mwpm_03201609.png\",\n" +
        "                \"is_content\": \"1\"\n" +
        "            }\n" +
        "        ],\n" +
        "        \"page\": \"1\",\n" +
        "        \"pageSize\": \"3\"\n" +
        "    }";
String toutiaoDetail ="{\n" +
        "        \"uniquekey\": \"b6007680102715c423da7ae88862ab7b\",\n" +
        "        \"detail\": {\n" +
        "            \"title\": \"黄子韬入盟GK，娱乐、电竞圈互串双丰收？\",\n" +
        "            \"date\": \"2021-03-08 13:21:00\",\n" +
        "            \"category\": \"娱乐\",\n" +
        "            \"author_name\": \"杨啸宇\",\n" +
        "            \"url\": \"https://mini.eastday.com/mobile/210308132121345627278.html\",\n" +
        "            \"thumbnail_pic_s\": \"https://dfzximg02.dftoutiao.com/minimodify/20210308/500x700_6045b450aafd7_mwpm_03201609.png\",\n" +
        "            \"thumbnail_pic_s02\": \"\",\n" +
        "            \"thumbnail_pic_s03\": \"\"\n" +
        "        },\n" +
        "        \"content\": \"<p >其实明星当中有很对人玩网络游戏，特别是英雄联盟和王者荣耀，最近佛山GK电子竞技俱乐部宣布，黄子韬将加盟GK，担任合伙人兼联席CEO。今后，他将与俱乐部合作培养选手和艺人。</p><p >\\n            <img width='100%' src='//dfzximg01.dftoutiao.com/minimodify/20210308/500x700_6045b42b1dd23.png' data-weight='500' data-width='500' data-height='700'></p><p >娱乐产业与游戏产业之间虽然存在壁垒，但壁垒并不深，明星与电子竞技圈的跨界现象屡见不鲜。杨幂、罗云熙、张彬彬、陈赫等“资深游戏玩家”经常出现在《英雄联盟》和《王者荣耀》之间的表演比赛、评论席和自制综艺节目中。近年来，明星跨界电子竞技的形式不超过两种。一是与正式比赛和电子竞技项目进行互动合作，二是组建像周杰伦、余文乐、林俊杰等自己的团队。但现在，明星与电竞圈有了新的合作模式，鹿晗和黄子韬作为俱乐部合作伙伴开始了电竞的副业。赛会官员和电子竞技赛事之所以忠于明星的合作，在于明星可以带动电子竞技的影响力打破圈子，俱乐部合作明星的考量也是如此。</p><p >\\n            <img width='100%' src='//dfzximg01.dftoutiao.com/minimodify/20210308/500x330_6045b4306dbe4.png' data-weight='500' data-width='500' data-height='330'></p><p >1月24日，杨幂、李现率领一队与KPL职业选手猫神、一诺在王者荣耀年度颁奖典礼明星表演比赛中PK。表演赛当晚，杨幂玩张飞，张飞趁势上微博搜索，为明星表演赛和年度王者荣耀颁奖典礼带来了一个话题上亿的讨论。如今，邀请明星与职业选手在重大电子竞技赛事中比拼已是家常便饭。比如，在英雄联盟成立9周年之际，周杰伦和王俊凯参赛后，相关话题依次出现在微博热搜上。电子竞技赛事邀请明星助阵，就像NBA邀请蔡徐坤代言一般，都对明星带来的价值和粉丝的转化感兴趣。</p><p >\\n            <img width='100%' src='//dfzximg01.dftoutiao.com/minimodify/20210308/500x500_6045b435d800b.png' data-weight='500' data-width='500' data-height='500'></p><p >同时，这些明星背后的粉丝圈和电竞圈的主要粉丝都是年轻群体，他们的跨界本性也能带动电竞文化的粉丝冲破这堵墙。近年来，电子竞技圈明星的跨界互动形式已不仅仅是明星表演比赛。除了邀请明星在赛前祝福环节出现在网上，明星们有时还会被邀请参加重大比赛的解说。例如，罗云熙和张彬彬参加了英雄联盟S10全球总决赛SN对DWG决赛的解说。电子竞技项目在选择合作明星时往往有自己的考虑，除了明星的流量价值，明星本身是否与比赛有很强的相关性也是关键。</p><p >\\n            <img width='100%' src='//dfzximg01.dftoutiao.com/minimodify/20210308/500x325_6045b435a8c77.png' data-weight='500' data-width='500' data-height='325'></p><p >如今，王者荣耀还开发了一种新的明星跨界电子竞技方式，即邀请易烊千玺、宋茜、吴亦凡、李现、杨幂五位明星担任游戏的品牌代言人。这意味着王者荣耀与这些明星合作很长一段时间。官方还表示，这五位明星将出现在许多活动，如王者的周年庆典，KPL比赛，可以说明星与电子竞技圈的合作在不断演进，这不仅体现在双方更深层的绑定上，也体现在更深层的合作模式上。</p>\"\n" +
        "    }";
String soup =  "{\n" +
        "    \"reason\": \"success\",\n" +
        "    \"result\": {\n" +
        "        \"text\": \"无论有多困难，都坚强地抬头挺胸，人生是一场醒悟，不要昨天，不要明天，只要今天。活在当下，放眼未来。人生是一种态度，心静自然天地宽。不一样的你我，不一样的心态，不一样的人生。\"\n" +
        "    },\n" +
        "    \"error_code\": 0\n" +
        "}";
        String packageName = "com.aurora.juhe.model.dto";
        String className = "Soup";
        JsonToJava.generateJavaClassFromJson(soup, packageName, className);
        for (StringBuilder sb : sbList) {
            System.out.println(sb.toString());
        }


    }
}